package com.ctgu.zmc.stresstest.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ctgu.zmc.stresstest.common.utils.PageParams;
import com.ctgu.zmc.stresstest.common.utils.PageResult;
import com.ctgu.zmc.stresstest.entity.BlogEntity;

/**
 * @author zmc
 * @description 博客业务接口类
 * @date 2023-05-28 16:03:05
 */
public interface BlogService extends IService<BlogEntity> {

    /**
     * 按博客id查询博客信息
     *
     * @param id 博客id
     * @return 博客信息
     */
    BlogEntity getBlogById(Long id);

    /**
     * 按博客id查询博客信息---通过redis缓存
     *
     * @param id 博客id
     * @return 博客信息
     */
    BlogEntity getBlogByIdWithRedis(Long id);

    /**
     * 分页检索博客信息
     *
     * @param key        检索字段
     * @param pageParams 分页查询参数
     * @return PageResult<BlogEntity>
     */
    PageResult<BlogEntity> queryPage(String key, PageParams pageParams);

    /**
     * 分页检索博客信息---通过Elasticsearch
     *
     * @param key        检索字段
     * @param pageParams 分页查询参数
     * @return PageResult<BlogEntity>
     */
    PageResult<BlogEntity> queryPageWithElasticsearch(String key, PageParams pageParams);

}
